package cn.iocoder.yudao.module.crossborder.platform.dal.dataobject.platformfeeconfig;

import lombok.*;

import java.time.LocalDate;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 跨境电商平台费率配置 DO
 *
 * @author 芋道源码
 */
@TableName("crossborder_platform_fee_config")
@KeySequence("crossborder_platform_fee_config_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PlatformFeeConfigDO extends BaseDO {

    /**
     * 费率配置编号
     */
    @TableId
    private Long id;
    /**
     * 平台编号
     */
    private Long platformId;
    /**
     * 店铺编号（为空表示平台级配置）
     */
    private Long storeId;
    /**
     * 费率类型
     */
    private String feeType;
    /**
     * 费率名称
     */
    private String feeName;
    /**
     * 英文名称
     */
    private String feeNameEn;
    /**
     * 计算方式（1百分比 2固定金额 3阶梯费率）
     */
    private Integer calculationMethod;
    /**
     * 费率（百分比时为小数，如0.15表示15%）
     */
    private BigDecimal feeRate;
    /**
     * 固定金额
     */
    private BigDecimal fixedAmount;
    /**
     * 最小费用
     */
    private BigDecimal minFee;
    /**
     * 最大费用
     */
    private BigDecimal maxFee;
    /**
     * 货币代码
     */
    private String currency;
    /**
     * 适用分类ID，逗号分隔
     */
    private String categoryIds;
    /**
     * 适用产品类型，逗号分隔
     */
    private String productTypes;
    /**
     * 阶梯费率配置JSON
     */
    private String tierConfig;
    /**
     * 生效日期
     */
    private LocalDate effectiveDate;
    /**
     * 失效日期
     */
    private LocalDate expireDate;
    /**
     * 状态（0正常 1停用）
     */
    private Integer status;
    /**
     * 备注
     */
    private String remark;


}
